Recent advances in computer technology have placed video applications within the reach of more common applications. For example, high Definition Television, Broadcast satellite Service, Cable TV distribution on optical networks, Electron Cinema, Interactive Storage Media, Multimedia Mailing, Networked Data base Services, corporate Internet training and conferencing, Remote Video Surveillance and others are now becoming practical video applications.
The large amounts of data needed to make video available in all these cases has lead to the adoption of Moving Picture Experts Group 1 (MPEG) and MPEG-2 standards for motion video compression and decompression. These standards significantly reduce bandwidth and storage space requirements. As a result, MPEG-1 and MPEG-2 are used in many video applications and are continuing to become more popular.
However, one feature limiting widespread use of the MPEG standard is it computational complexity. Video encoding and decoding under MPEG is expensive, often too costly for single processors to achieve real-time performance in software for displays of acceptable resolution and size. The computational demands grow as users desire higher quality video.
Encoding is more expensive than decoding, but can typically be done offline and, therefore, may not need to be done in real-time. Decoding, however, typically requires real-time performance.